package code11_util;

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

import org.junit.Test;

public class Homework {

	@Test
	public void t1() {
		// 使用StringBuffer操作, 把用户输入的一行字符串，每三个字符中间添加一个 "-" 减号
		// 012-345-678-9
		Scanner sc = new Scanner(System.in);
		String line = sc.nextLine();
		System.out.println("line:"+line);
		StringBuffer s = new StringBuffer(line);
		for (int i = 3; i < s.length(); ) {
			s.insert(i, '-');
			i+=4;// 原字符串中 每个3个字符,第4个位置插入 - 
		}
		System.out.println(s);
	}
	@Test
	public void t2() {
		int[] arr = random();
		System.out.println(Arrays.toString(arr));
	}
	/**
	 * 2022-03-23
	 * 对数字进行四舍五入形式的保留指定位数的小数。<br>
	 * 例如: round(3.456, 2) 返回 3.46
	 * @param num 数字
	 * @param round 保留的小数位, >=0
	 * @return
	 */
	public static double round(double num, int round) {
		// 使用 Math.round()
		double pow = Math.pow(10, round);
		// 把对应位置的小数前移, 变成整数部分
		num = num * pow;
		// 四舍五入
		long m = Math.round(num);
		// 把对应位置的部分整数，向小数点后移
		return m / pow;
	}
	/**
	 * 随机10个 0~100 之间的 不重复的 整数，存入数组，并返回
	 * @return
	 */
	public static int[] random() {
		int len = 10;
		int[] arr = new int[len];
		Random r = new Random();
		int index = 0;
		while(index < len) {// 没有把 arr 填满就继续随机数字
			int num = r.nextInt(101);
			boolean isOk = true;// 默认不重复
			for (int j = 0; j < index; j++) {
				// 和已保存进行判断是否重复
				if(num == arr[j]){
					System.out.println("重复:"+num);
					isOk = false;// 重复
					break;
				}
			}
			if (isOk) {
				// 不重复存入, 如果重复再重新随机
				arr[index] = num;
				index++;// 准备填下一个
			}
		}
		return arr;
	}
	
}
